Skip to content

ci: migrate registry-image resources from Docker Hub to GHCR#447

Merged
aramprice merged 1 commit into
mainfrom
ci/migrate-images-to-ghcr
Jul 16, 2026
Merged

ci: migrate registry-image resources from Docker Hub to GHCR#447
aramprice merged 1 commit into
mainfrom
ci/migrate-images-to-ghcr

Conversation

@Alphasite

Copy link
Copy Markdown
Contributor

Summary

Switch all three registry-image resources from docker.io to ghcr.io/cloudfoundry, using the github_read_write_packages credential already in CredHub:

Resource Before After
bosh-agent-docker-image docker.io/bosh/agent ghcr.io/cloudfoundry/bosh-agent
bosh-agent-registry-image docker.io/bosh/agent ghcr.io/cloudfoundry/bosh-agent
integration-postgres-15-image docker.io/bosh/main-postgres-15 ghcr.io/cloudfoundry/bosh/main-postgres-15

Resource types (bosh-deployment-resource, metalink-repository-resource, semver-resource) remain on Docker Hub — no GHCR equivalents exist for these Concourse worker plugins.

Why

The integration-postgres-15 GHCR image has bundle config set --global path "${GEM_HOME}" baked in. This ensures bundled gems land in GEM_HOME, which the CPI wrapper script (cpi.erb) exports into the CPI subprocess environment. Without it, require 'bundler/setup' and require 'cloud' silently crash the subprocess, producing the Invalid CPI response - unexpected end of input failures that plagued bosh-integration-tests since build 591.

Verified: bosh-integration-tests build 601 succeeded (1h9m, 0 failures across all suites) after switching to the GHCR image.

Post-merge action required

ghcr.io/cloudfoundry/bosh-agent does not exist yet. After merging and reconfiguring the pipeline, manually trigger build-docker-image once to bootstrap the package on GHCR. All downstream jobs will then trigger normally via bosh-agent-registry-image.

Made with Cursor

Switch all three registry-image resources from docker.io to
ghcr.io/cloudfoundry using the github_read_write_packages credential
already in CredHub:

  docker.io/bosh/agent            → ghcr.io/cloudfoundry/bosh-agent
  docker.io/bosh/main-postgres-15 → ghcr.io/cloudfoundry/bosh/main-postgres-15

The integration-postgres-15 change fixes "Invalid CPI response - unexpected
end of input" failures that started after the dummy CPI was extracted upstream.
The GHCR image has `bundle config set --global path "${GEM_HOME}"` baked in,
so bundled gems land in GEM_HOME; the CPI wrapper (cpi.erb) exports GEM_HOME
into the subprocess, letting `require 'bundler/setup'` and `require 'cloud'`
find all gems. Verified: bosh-integration-tests build 601 succeeded (1h9m,
0 failures) after this change.

The bosh-agent image migration avoids Docker Hub rate limits for all CI tasks.
Note: ghcr.io/cloudfoundry/bosh-agent does not exist yet. After merging,
manually trigger build-docker-image once to bootstrap the GHCR package; all
downstream jobs will then trigger normally via bosh-agent-registry-image.

Resource types (bosh-deployment-resource, metalink-repository-resource,
semver-resource) remain on Docker Hub — no GHCR equivalents exist for these
Concourse worker plugins.

ai-assisted=yes

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings July 11, 2026 02:43
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 334b1fa1-54a6-4d27-91c3-346f37b65ae4

📥 Commits

Reviewing files that changed from the base of the PR and between 0268522 and d081d89.

📒 Files selected for processing (1)
  • ci/pipeline.yml

Walkthrough

Updated the BOSH agent and PostgreSQL integration image resources in the CI pipeline to pull from GitHub Container Registry. Both resources now use the github_read_write_packages username and password references instead of the Docker credential references.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately describes the main change: moving registry-image resources from Docker Hub to GHCR.
Description check ✅ Passed It covers the core summary, rationale, verification, and post-merge action, though several non-critical template sections are omitted.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/migrate-images-to-ghcr

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Concourse pipeline to pull/push the pipeline’s registry-image resources from GitHub Container Registry (ghcr.io/cloudfoundry/...) instead of Docker Hub, using the github_read_write_packages credentials.

Changes:

  • Migrate bosh-agent-docker-image and bosh-agent-registry-image from docker.io/bosh/agent to ghcr.io/cloudfoundry/bosh-agent.
  • Migrate integration-postgres-15-image from docker.io/bosh/main-postgres-15 to ghcr.io/cloudfoundry/bosh/main-postgres-15.
  • Swap Docker Hub credentials for github_read_write_packages on the affected resources.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ci/pipeline.yml
@aramprice aramprice merged commit 26f752f into main Jul 16, 2026
19 checks passed
@aramprice aramprice deleted the ci/migrate-images-to-ghcr branch July 16, 2026 14:46
@github-project-automation github-project-automation Bot moved this from Pending Merge | Prioritized to Done in Foundational Infrastructure Working Group Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

4 participants